(function ($) {
    $.Calls = function () {
        var	screenX,screenH,documentH;
        var t = '';
        var opt={
            callback:function(val,text){}
        };
        var option;
        this.showextend = function (randfrm,arg) {
            option=$.extend(opt,arg);		//合并数组对象
            this.showcallInput(randfrm);
        }
        var othis = this;
        //---------------------行业类别---------------------------------------------------------------------------------------------------

        //加载内容
        this.showcallInput = function (randfrm) {
            if( ($(option.objId).html() == undefined ||  $(option.objId).html() == 'null')){
                this.keepcall_con(randfrm);			     //遮掩弹出
            }
            this.keep_sceen();							//显示遮掩层
            this.layer();								//显示弹出层函数
            this.nextshow(randfrm);						//弹出当前选择的类型
        };

        //显示遮掩层函数
        this.layer = function () {
            screenX=$(window).width();
            screenH=$(window).height();
            documentH=$(document).height();
            iLeft = parseInt((screenX-$(option.objId).width())/2);
            iTop = parseInt((screenH-$(option.objId).height())/2);
            if(screenX < $(option.objId).width()){
                screenX = $(option.objId).width();
                iLeft = 0;
            }
            $(option.objId).css({'left':iLeft,'top':iTop}).show();		//对象显示
            $(option.objId).find('.two .close').click(function(){		//点击关闭按钮时，关闭窗口
                $(option.keep_sceen).hide();
                $(option.objId).hide();
            });
            //div遮掩层
            $(option.keep_sceen).css({
                "width":screenX+'px',
                "height":documentH+'px',
                'background':'#111111',
                'opacity':0.5
            }).show();

            //窗口压缩事件触发
            $(window).resize(function(){
                screenX=$(window).width();
                screenH=$(window).height();
                documentH=$(document).height();
                iLeft = parseInt((screenX-$(option.objId).width())/2);
                iTop = parseInt((screenH-$(option.objId).height())/2);
                if(screenX < $(option.objId).width()){
                    screenX = $(option.objId).width();
                    iLeft = 0;
                }
                if(screenH < $(option.objId).height()){
                    screenH = documentH;
                    iTop = 0;
                }else{
                    screenH = documentH;
                }
                $(option.keep_sceen).css({"width":screenX,"height":screenH});
                $(option.objId).css({"left":iLeft,"top":iTop });
            });
        }

        //显示加载内容窗口
        this.keepcall_con = function (randfrm) {
            var str='';
            str+='<div class="layer posCategories" id="comcall'+ randfrm +'">';
            str+='<div class="winTitle poswin"> <span class="one">行业类别</span> <span class="two"><span class="close">×</span></span> </div>';
            str+='<div class="first">';
            str+='<div class="one"><div class="morepos">您还没有选择行业类别。</div>';
            str+='<span class="btnok" style="margin-left:20px;"><a href="javascript:void(0);">确定</a></span></div>';
            str+='<div class="two"><div class="cselect">已选类别：</div>';
            str+='<div class="poscate" id="callCate'+randfrm+'"></div><div class="btnok"><a href="javascript:void(0);" >确定</a></div></div>';
            str+='</div>';
            //循环类型
            str+='<div class="cateType">';
            str+='<dl>';
            str+='<dt><span>行业类别</span></dt>';
            str+='<dd><ul>';

            $.each(option_industry, function (k,v) {
                str+='<li><div class="oneSelect">';
                str+='<input name="comcallings[]" id="comcallings'+randfrm+v.value+'" class="checkboxs" data-name="'+ v.text +'" type="checkbox" value="'+v.value+'" />';
                str+='<label for="comcallings'+randfrm+v.value+'">'+v.text+'</label>';
                str+='</div></li>';
            });

            str+='</ul></dd>';
            str+='</dl>';

            str+='</div>';
            str+='</div>';
            $("body").append(str);//追加到页面

            //点击input表单事件
            $(option.objId).find('.oneSelect').find("input[type='checkbox']").click(function(){
                clickInput($(this));
            });
            //点击确定按钮
            $(option.objId).find('a').click(function(){
                inpdetermines();	//外面放在input表单里面点击确定按钮的函数
            });

            //设置高度
            othis.setHeight();
        }

        //设置高度
        this.setHeight = function () {
            //设置弹出层的高度
            $(option.objId).find('.cateType').find('dd').each(function(index) {
                var key = $(this).find('li').length;
                var indexkey = Math.ceil(key/4);
                var liHeight = $(this).find('li').height();
                $(this).css({"height":(liHeight*indexkey)+'px'});
                $(this).parent('dl').find('dt').css({"height":(liHeight*indexkey)+'px',"background-color":'#f5f5f5'});
            });
        }

        //@parm othis 当前表单 私有函数点击input事件
        //input 表单点击事件
        function clickInput(othis){
            var checkboxObjChecked = $(option.objId + " input[type='checkbox']:checked");
            if(checkboxObjChecked.size()>option.objInpaLength){
                $(option.objChcekbox+othis.val()).attr('checked',false);
                layer.msg('最多只能选择'+option.objInpaLength+'个',{time:1000});
                return false;
            }
            if(checkboxObjChecked.size()>=0 && checkboxObjChecked.size() <=5 ){
                $(option.objId + ' .first').find('.one').hide();
                $(option.objId + ' .first').find('.two').show();

                if(othis.is(':checked')) {
                    //点击input选中
                    othis.next().css({"color":"#800080"});
                    var thisval = othis.val();
                    pcate = $(option.objChcekbox + thisval).attr('data-name');
                    poscate = '<div class="ctype" id="'+ option.objSelect + thisval + '"><span>'+pcate+'</span><i></i></div>';
                    $(option.objCate).append(poscate);

                    //点击i关闭事件
                    $(option.objId).find(option.objCate).find("#"+option.objSelect+thisval).find('i').click(function(){
                        objClose(thisval);
                    });

                }else{
                    othis.next().css({"color":"#0066CC"});
                    if(!$(option.objId).find('dd').find('li input').is(':checked')){
                        $(option.objId + ' .first').find('.one').show();
                        $(option.objId + ' .first').find('.two').hide();
                    }
                    poscate=$('#'+option.objSelect+othis.val());
                    poscate.remove();
                }
            }else{
                $(option.objId + ' .first').find('.one').show();
                $(option.objId + ' .first').find('.two').hide();
                $(option.objId + ' .ctype').remove();
            }
        }
        //@parm okey 当前input键值 Val值
        //点击i 关闭事件
        function objClose(okey){
            $(option.objChcekbox+okey).attr('checked',false);
            $('#'+option.objSelect+okey).remove();
            $(option.objChcekbox+okey).next().css({"color":"#0066CC"});
            if($(option.objId + " input[type='checkbox']:checked").size()<=0){
                $(option.objId + ' .first').find('.one').show();
                $(option.objId + ' .first').find('.two').hide();
            }
        }

        //**********外面放在input表单里面点击确定按钮的函数***********************************************************************************
        function inpdetermines(){
            var strjoin = '';
            $(option.objPostCate).val();
            var checkboxObj = $(option.objId + " input[type='checkbox']");
            var input_val;
            var jobArray = new Array();
            var joinArray = new Array();
            $.each(checkboxObj, function (key,value) {
                if(checkboxObj[key].checked == true){
                    input_val=checkboxObj.eq(key).val();
                    jobArray.push(input_val);
                }
            });
            /**清空数组里面的值**/
            for (i=0;i<option.objArr.length;i++ ){
                $(option.objArr[i]).val("");
            }
            if(jobArray.length > 0){
                for (i=0;i<jobArray.length;i++ ){
                    $(option.objArr[i]).val(jobArray[i]);
                    pcate = $(option.objChcekbox + jobArray[i]).attr('data-name');
                    joinArray.push(pcate);
                }
            }else{
                strjoin = '';
            }

            //以+号链接字符串
            strjoin = joinArray.join("+");
            $(option.objPostCate).val(strjoin);

            $(option.keep_sceen).hide();
            $(option.objId).hide();
            option.callback(jobArray,strjoin);
        }

        //显示弹出层函数
        this.nextshow = function (randfrm) {
            var checkboxObj=$(option.objId +" input[type='checkbox']");
            checkboxObj.attr('checked',false);
            $(option.objId + ' .ctype').remove();

            var newArr =new Array();
            for (i=0;i<option.objArr.length;i++ ){
                if($(option.objArr[i]).val() != '' && $(option.objArr[i]).val() != '0'){
                    newArr.push($(option.objArr[i]).val());
                }
            }
            if(newArr.length > 0){
                for (i=0;i<newArr.length;i++ ){
                    (function(x){	//使用闭包函数  把i 作用在这个函数体内
                        var thisval = newArr[x];
                        //设置样式
                        $(option.objChcekbox+thisval).attr('checked','checked');
                        $(option.objChcekbox+thisval).next().css({"color":"#800080"});
                        pcate = $(option.objChcekbox + thisval).attr('data-name');
                        poscate = '<div class="ctype" id="'+ option.objSelect + thisval + '"> <span>'+pcate+'</span><i></i></div>';
                        $(option.objCate).append(poscate);
                        //点击i关闭事件
                        $(option.objId).find(option.objCate).find("#"+option.objSelect+thisval).find('i').click(function (){
                            objClose(thisval);
                        });
                    })(i);
                }
            }
            if(newArr.length > 0){
                $(option.objId + ' .first').find('.one').hide();
                $(option.objId + ' .first').find('.two').show();
            }else{
                $(option.objId + ' .first').find('.one').show();
                $(option.objId + ' .first').find('.two').hide();
            }
        }
        //去除数组中相同的元素
        this.undulpicate = function (array) {
            for(var i=0;i<array.length;i++) {
                for(var j=i+1;j<array.length;j++) {
                    //注意 ===
                    if(array[i]===array[j]) {
                        array.splice(j,1);
                        j--;
                    }
                }
            }
            return array;
        }

        //判断对象是不是存在
        this.keep_sceen = function(){
            if ($("#keep_sceen").length <= 0) {
                $("body").append('<div class="cover" id="keep_sceen" style="z-index:1000;position:absolute"></div>');
            }
        }
    };
})(jQuery);



var callObj = new $.Calls();
//--------------------------------创建工作地区对象----------------------------------------------------------------------------
function callInput(randfrm,type){
    var callarr = {
        objId: '#comcall'+randfrm,					//当前显示内容的ID值
        objCate:'#callCate'+randfrm,					//当前页面弹出层显示要追加的工作地区类别内容
        objTwoCate:'#twocallCate'+randfrm,				//当前页面要追加的工作地区类别内容
        objChcekbox:'#comcallings'+randfrm,			//当前弹出层 复选框checkbox的前缀名id值
        objSelect:'callSelect'+randfrm,				//当前弹出层 追加到弹出要追加的内容里面的ID前缀值
        objTwoSelect:'twocallSelect'+randfrm,			//当前页面  追加到当前页面要追加的内容里面的ID前缀值
        objPostCate:'#industry',                          //当前页面  追加到当前页面input要追加的内容里面的ID前缀值
        objArr : ["#industry1"+randfrm,"#industry2"+randfrm,"#industry3"+randfrm,"#industry4"+randfrm,"#industry5"+randfrm], 	//当前隐藏表单
        keep_sceen :'#keep_sceen',					//遮掩层
        objLevel:'1',								//设置当前显示的级别
        objInpaLength:'5'							//设置当前input 表单选项的个数

    };
    callObj.showextend(randfrm,callarr);
}